import javax.swing.JFrame;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.util.Rotation;


public class charts extends JFrame {

	private static final long serialVersionUID = 1L;
	
	  public charts (String applicationTitle, String chartTitle) {
	        super(applicationTitle);
	        // This will create the dataset 
	        PieDataset dataset = createDataset();
	        // based on the dataset we create the chart
	        JFreeChart chart = createChart(dataset, chartTitle);
	        // we put the chart into a panel
	        ChartPanel chartPanel = new ChartPanel(chart);
	        // default size
	        chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
	        // add it to our application
	        setContentPane(chartPanel);

	    }

	  
	  private  PieDataset createDataset() {
	        DefaultPieDataset result = new DefaultPieDataset();
	        result.setValue("Income", 50);
	        result.setValue("expense", 30);
	        result.setValue("taxes", 20);
	        return result;
	        
	    }

	  
	  private JFreeChart createChart(PieDataset dataset, String title) {
	        
	        JFreeChart chart = ChartFactory.createPieChart3D(title,          // chart title
	            dataset,                // data
	            true,                   // include legend
	            true,
	            false);

	        PiePlot3D plot = (PiePlot3D) chart.getPlot();
	        plot.setStartAngle(290);
	        plot.setDirection(Rotation.CLOCKWISE);
	        plot.setForegroundAlpha(0.5f);
	        return chart;
	        
	    }
	


	/*   public static void main(String[] args) {
	          
		   
		   charts demo = new charts("Transaction Charts", "User Transaction pie chart");
	          demo.pack();
	          demo.setVisible(true);
	      }*/
	   }